package com.swing.jiaocheng;

import javax.swing.*;
import java.awt.*;

/**
 * Swing JTextArea：文本域组件
 */
public class JTextArea07 {

    /**
     * 文本域与文本框的最大区别就是文本域允许用户输入多行文本信息。在 Swing 中使用 JTextArea 类实现一个文本域，其常用构造方法如下。
     * JTextArea()：创建一个默认的文本域。
     * JTextArea(int rows,int columns)：创建一个具有指定行数和列数的文本域。
     * JTextArea(String text)：创建一个包含指定文本的文本域。
     * JTextArea(String text,int rows,int columns)：创建一个既包含指定文本，又包含指定行数和列数的多行文本域。
     */
    public static void main(String[] args) {

        JFrame jFrame = new JFrame("java文本域组件示例");

        //创建一个JPanel对象
        JPanel jPanel = new JPanel();

        JTextArea jTextArea = new JTextArea("请输入内容", 7, 30);

        //设置文本域中的文本为自动换行
        jTextArea.setLineWrap(true);
        //设置组件的背景色
        jTextArea.setForeground(Color.BLACK);
        //修改字体样式
        jTextArea.setFont(new Font("楷体",Font.BOLD,16));
        //设置按钮背景色
        jTextArea.setBackground(Color.YELLOW);
        //将文本域放入滚动的窗口
        JScrollPane jScrollPane = new JScrollPane(jTextArea);

        //获得文本域的首选大小
        Dimension preferredSize = jTextArea.getPreferredSize();
        jScrollPane.setBounds(110,90,preferredSize.width,preferredSize.height);

        //将JScrollPane添加到JPanel容器中
        jPanel.add(jScrollPane);
        //将JPanel容器添加到JFrame容器中
        jFrame.add(jPanel);
        jFrame.setBackground(Color.LIGHT_GRAY);
        jFrame.setSize(400,200);    //设置JFrame容器的大小
        jFrame.setVisible(true);
    }

}
